1. Field of the Invention
This invention relates to a method and system for encoding SCSI requests for transmission using TCP/IP with a computer system connected to one or more target devices. More specifically, the method and system provides for making SCSI requests over a TCP/IP connection directly to target devices. In addition, the method and system provides a direct connection from a workstation to a target device independent of a host system to which both the workstation and the target device is connected. This allows transmitting SCSI requests over TCP/IP directly from the workstation to the target device without involving the host system.
2. Description of the Prior Art
Present day arrangements of networks typically involve a host system, i.e., a server, having multiple target devices, i.e., storage systems, connected thereto by means of a fibre channel connection capable of transmitting and receiving SCSI requests during the normal operation of the host system, and with the various storage units implementing conventional input/output (I/O) operations. Such networks also typically include a workstation connected to the host system which allows specific requests and operations to be conducted from the workstation, with the host system and/or through the host system to the target devices, i.e., storage units.
In such systems, it is often the case that a user at the workstation occasionally desires to obtain information from the target devices beyond the normal operation of the network. Presently, this is done by providing an instruction to the host system, and through a program on the host system, the instruction is transmitted to the storage system. The storage system then replies to the request through the host.
A problem with such a system is that when the workstation accesses the storage system through the host system's Host Bus Adapters (HBAs), the host system will stop performing other requests while the workstation is using its fibre pass-through. More specifically, ordinarily in the operation of such a network there are a number of file system read and write requests. When a management request is transmitted through the host system from the workstation, those read and write requests are interrupted, and while the workstation is interacting through the host system with the storage system, there are no read and write requests occurring because the host system is programmed to avoid effecting such read and write requests as a means of not interfering with the workstation interaction with the target devices.
A problem with such an approach is that CPU cycles on the host system are being used for non-productive work in performing the set up and data transfers, and the host system is also locked out from all of the other transfers that normally occur to the target device, i.e., storage system. This occurs because the operating system running on the host system includes software that uses the SCSI controllers for doing industry standard block I/O. Because the operating system has exclusive use of the SCSI controllers, it is often difficult to write a user program that can send specific SCSI requests using the SCSI controllers.
Some operating systems provide a user pass-through capability that allows a user program to send specific SCSI requests from a workstation to a target device. These pass-through capabilities are operating-system specific and do not always work very well. In many cases the operating system SCSI pass-through request will also stop other traffic until the request is completed, degrading system performance.
In an alternative implementation, the workstation can be configured to access a target device directly by connection using a serial cable. The workstation program encodes specific SCSI requests and transmits them to the target device over the serial line. This is available for use with a wide variety of operating systems, but the encoding is error prone and somewhat slow.
In accordance with the method and system described herein, the problems of the existing systems and methods are avoided.